//
//  PositionLocalizationAlgorithm.h
//  iBeaconDemo
//
//  Created by cry on 17/1/10.
//  Copyright © 2017年 eGova. All rights reserved.
//

#import <Foundation/Foundation.h>
@class TTReceiver;
@class TTRoomMap;
@class TTPoint;
/**
 * 计算定位演算类（抽象）
 * It defines the interface of the constructor, the method calculate(...) and some needed variables.
 */
@interface TTPositionLocalizationAlgorithm : NSObject
/** The array list of all receivers. */
//protected ArrayList<Receiver> receivers;
@property (nonatomic, strong) NSMutableArray<TTReceiver *> *receivers;
/** The room map. */
//protected RoomMap roommap;
@property (nonatomic, strong) TTRoomMap *roommap;
/**
 * 构造方法
 * @param roommap
 * @param receivers
 */
//public PositionLocalizationAlgorithm(RoomMap roommap, ArrayList<Receiver> receivers) {
//    this.roommap = roommap;
//    this.receivers = receivers;
//}
- (instancetype)initWithReceivers:(NSMutableArray<TTReceiver *> *)receivers
                          roommap:(TTRoomMap *)roommap;
/**
 * 计算点坐标
 * @param readings
 * @return 点
 */
//public abstract Point calculate(HashMap<String, Integer> readings);
- (TTPoint *)calculate:(NSMutableDictionary<NSString *, NSNumber *> *)readings;

@end
